Cloud Data Fusion で Dataplex のデータリネージ統合を試してみた
こんにちは!エノカワです。
Cloud Data Fusion はデータ パイプラインを素早く構築、管理できる、クラウドネイティブのフルマネージド エンタープライズ データ統合サービスです。
Dataplex は、分散データを統合し、そのデータのデータ マネジメントとガバナンスを自動化するデータ ファブリックです。
試したこと
今回は、Cloud Data Fusion で Dataplex のデータリネージ統合を試してみました。
下記のドキュメントに沿って実施してみましたので、その内容をご紹介します。
準備
Cloud Data Fusion のリネージグラフを表示できるようにするために、以下の手順を実施します。
- Cloud Data Fusion インスタンスを含むプロジェクトで Data Lineage API を有効にします
- Cloud Data Fusion マネージド サービス アカウント、Cloud Data Fusion API サービス エージェントに、データリネージ イベント プロデューサーのロール(
roles/datalineage.producer
)を付与します
なお、インスタンス作成、パイプライン構築、デプロイなど Cloud Data Fusion の基本的な操作については、下記エントリで紹介しておりますので、こちらもご参照ください!
インスタンス作成
Cloud Data Fusion インスタンスを作成します。
Google Cloud コンソールで、Cloud Data Fusion の [インスタンス] ページに移動し、[インスタンスを作成] をクリックします。
インスタンス作成画面が表示されるので、作成するインスタンスの情報を入力します。
今回は以下の情報を入力しました。
- インスタンス名
test-fusion
- リージョン
asia-northeast1
を選択 - バージョン
6.10.1
を選択 - エディション
デベロッパー
を選択
Dataplex データリネージを有効にする
Cloud Data Fusion の新しいインスタンスでは、Dataplex データリネージがデフォルトで無効になっています。
[詳細オプション] セクションを展開し、[Dataplex データリネージとの統合を有効にする] をクリックします。
[作成] ボタンをクリック後、しばらくするとインスタンスが作成されます。
これで準備が整いました。パイプラインの作成に入っていきましょう!
パイプライン作成
[インスタンスを表示] をクリックします。
Cloud Data Fusion のホーム画面が表示されました。
[Integrate] の [Studio] をクリックします。
Pipeline Studio のページに切り替わりました。
このページで、ソース、変換、シンクなどのノードを接続することで、パイプラインを作成できます。
Dataplex データリネージをサポートするプラグイン
Cloud Data Fusion のリネージグラフを表示できるようにするには、サポートされているプラグインのみを使用するパイプラインを作成する必要があります。
2024年10月時点でサポートされているプラグインは下記のとおりです。
Amazon S3
BigQuery
BigQuery マルチテーブル シンク(バージョン 6.9.1 以降)
Spanner
Cloud Storage
Cloud SQL for MySQL
Cloud SQL for PostgreSQL
Dataplex
FTP
汎用データベース
HTTP
MSSQL / SQL Server
複数のデータベース テーブルのソース(バージョン 6.9.1 以降)
MySQL
Oracle
PostgreSQL
SAP OData
SAP ODP
SAP Table
今後も追加されていくと思われますので最新のサポート状況は下記ドキュメントを参照ください。
今回はデータリネージ統合を試すため、Cloud Storage
、BigQuery
を使用したパイプラインを作成します。
クイックスタート用パイプラインをデプロイ
Cloud Data Fusion には機能を拡張するために使用できるカスタマイズ可能なモジュールとして、プラグインがあります。
プラグインでは、クイックスタート用のパイプライン「Cloud Data Fusion Quickstart」が用意されています。
Cloud Storage
ノード、BigQuery
ノードを使用したパイプラインなので、 こちらをデプロイしていきます。
画面右上の [HUB] をクリックします。
コンポーネントの一覧が表示されるので、ここから「Cloud Data Fusion Quickstart」を探して [Create] をクリックします。
デプロイ画面が表示されるので、[Finish] をクリックします。
パイプラインの作成が完了しました。
続けてパイプラインのデプロイを行いますので、[Customize Pipeline] をクリックします。
Pipeline Studio のページに切り替わりました。
Cloud Storage
→ Wranger
→ BigQuery
の順で接続されたパイプラインであることが確認できます。
GCSファイル読み込み、データ加工、BigQueryインサートを行うパイプラインとなります。
画面右上の [Deploy] をクリックします。
パイプラインのデプロイが開始されました。
しばらくすると、画面が切り替わりました。
画面上部の Status に Deployed
と表示されています。
パイプラインのデプロイが完了したようです。
パイプライン実行
それではパイプラインを実行してみましょう。
画面上部の [Run] をクリックします。
時間経過とともに Status が変わっていきます。
画面上部の Status に Succeeded
と表示されています。
パイプラインの実行が正常に完了したようです。
Dataplex の UI 上でリネージグラフを確認してみましょう。
リネージグラフを確認する
Dataplex の UI からデータ取り込み先である BigQuery テーブル top_rated_inexpensive
を検索します。
top_rated_inexpensive
を選択して 「リネージ」 を表示します。
一番上のフローでは、GCS(nyt2.json
)から top_rated_inexpensive
へのデータの流れが確認できます。
GCS から BigQuery へのフロー上にある Cloud Data Fusion のアイコンをクリックすると、インスタンス名や 名前空間、パイプライン名を含む プログラム ID などの情報を確認することができます。
上から二番目以降のフローでも同様に、GCSから BigQuery へのデータの流れが確認できますが、GCS のオブジェクトが AVRO形式 になっています。
また、GCS から BigQuery へのフロー上にあるアイコンも BigQuery のものになっています。
このフローは、パイプライン実行によるデータロードのプロセスとなります。
Cloud Data Fusion では、内部的にデータを AVRO形式 に変換して BigQuery に取り込んでいるようです。
パイプラインの実行を 3回 行った後でしたので、その回数分のデータ移動が追跡され、データリネージとして表示されているようです。
Cloud Data Fusion のデータリネージ
Cloud Data Fusion のメタデータを使用してデータリネージを調べることも可能です。
Cloud Data Fusion のホーム画面で [Discover and govern] の [Metadata] をクリックします。
検索窓にキーワードを入れてデータセットを探します。
今回実行したパイプラインの BigQuery
ノードである Top_Rated_Inexpensive_Books
のデータセットが見つかりましたので、クリックします。
[Lineage] タブをクリックします。
リネージグラフで、このデータセットが NYT_BestSellers
データセットを使用した パイプラインによって生成されたことが確認できます。
画面右上の [FIELD LEVEL LENEAGE] をクリックすると、フィールド レベルのリネージが表示されます。
データセットのフィールドと、フィールド セットに対して実行して別のフィールド セットを生成する変換との間の関係が確認できます
まとめ
以上、Cloud Data Fusion で Dataplex のデータリネージ統合を試してみました。
インスタンス作成時にオプションで Dataplex のデータリネージ統合を有効にするだけで、コンソールの [Dataplex] ページでリネージグラフを表示することができました。
Cloud Data Fusion と Dataplex の連携により、パイプライン実行によるデータ移動が追跡できるので、他の Google Cloud サービスも含めたシステム全体で、データの出所や変換プロセスを把握するのに役立つ機能だと感じました。
データリネージの自動追跡
データリネージは、次の Google Cloud サービスとの統合をサポートしています。(2024年10月時点)
- BigQuery
- Cloud Data Fusion
- Cloud Composer
- Dataproc
- Vertex AI
以下の記事では、Cloud Composer で Dataplex のデータリネージ統合を試しておりましたので、こちらもご参照ください!
参考
- Dataplex でリネージを表示する | Cloud Data Fusion Documentation | Google Cloud
- Cloud Data Fusion の概要 | Cloud Data Fusion Documentation | Google Cloud
- 一般公開インスタンスを作成する | Cloud Data Fusion Documentation | Google Cloud
- Dataplex の概要 | Google Cloud
- データリネージについて | Data Catalog Documentation | Google Cloud
- メタデータを使用してデータ系列を調べる | Cloud Data Fusion Documentation | Google Cloud
- Cloud Data Fusionで始めるETL入門 | フューチャー技術ブログ